package org.zezs.deployment.config;

import com.alibaba.fastjson.annotation.JSONField;
import com.jcraft.jsch.Session;

public abstract class Node {
    protected String checkUrl;
    protected String nginxProxyPass;
    protected SshInfo sshInfo;
    @JSONField(serialize=false)
    protected Session session;

    @JSONField(serialize=false)
    protected String md5;

    protected String homePath;
    protected String name;
    protected String param="";

    public String getCheckUrl() {
        return checkUrl;
    }

    public void setCheckUrl(String checkUrl) {
        this.checkUrl = checkUrl;
    }

    public String getNginxProxyPass() {
        return nginxProxyPass;
    }

    public void setNginxProxyPass(String nginxProxyPass) {
        this.nginxProxyPass = nginxProxyPass;
    }

    public SshInfo getSshInfo() {
        return sshInfo;
    }

    public void setSshInfo(SshInfo sshInfo) {
        this.sshInfo = sshInfo;
    }

    public Session getSession() {
        return session;
    }

    public void setSession(Session session) {
        this.session = session;
    }

    public String getMd5() {
        return md5;
    }

    public void setMd5(String md5) {
        this.md5 = md5;
    }


    public String getHomePath() {
        return homePath;
    }

    public void setHomePath(String homePath) {
        this.homePath = homePath;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public abstract String getFilePath();
    @JSONField(serialize=false)
    public abstract String getShellId();
    public abstract void clear();
    public abstract void star();

    public String getParam() {
        return param;
    }

    public void setParam(String param) {
        this.param = param;
    }
}
